<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
	<meta name="keywords" content="communication" />
	<meta name="description" content="communication" />
	<!-- 网页标签标题 -->
	<title>communication</title>
	<link rel="shortcut icon" href="/img/docsite.ico"/>
	<link rel="stylesheet" href="/build/documentation.css" />
</head>
<body>
	<div id="root"><div class="documentation-page" data-reactroot=""><header class="header-container header-container-normal"><div class="header-body"><a href="/zh-cn/index.html"><img class="logo" src="/img/txlcn.png"/></a><div class="search search-normal"><span class="icon-search"></span></div><span class="language-switch language-switch-normal">En</span><div class="header-menu"><img class="header-menu-toggle" src="/img/system/menu_gray.png"/><ul><li class="menu-item menu-item-normal"><a href="/zh-cn/index.html" target="_self">首页</a></li><li class="menu-item menu-item-normal"><a href="https://bbs.txlcn.org/viewtopic.php?id=42" target="_self">新闻</a></li><li class="menu-item menu-item-normal"><a href="https://bbs.txlcn.org" target="_self">社区</a></li><li class="menu-item menu-item-normal menu-item-normal-active"><a href="/zh-cn/docs/preface.html" target="_self">文档</a></li><li class="menu-item menu-item-normal"><a href="https://github.com/codingapi/tx-lcn/releases" target="_blank">下载</a></li><li class="menu-item menu-item-normal"><a href="/zh-cn/sponsor/index.html" target="_self">赞助</a></li></ul></div></div></header><div class="bar"><div class="bar-body"><img src="/img/system/docs.png" class="front-img"/><span>文档</span><img src="/img/system/docs.png" class="back-img"/></div></div><section class="content-section"><div class="sidemenu"><div class="sidemenu-toggle"><img src="https://img.alicdn.com/tfs/TB1E6apXHGYBuNjy0FoXXciBFXa-200-200.png"/></div><ul><li class="menu-item menu-item-level-1"><span>用户文档</span><ul><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><a href="/zh-cn/docs/preface.html" target="_self">入门</a></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><a href="/zh-cn/docs/background.html" target="_self">背景</a></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><a href="/zh-cn/docs/start.html" target="_self">快速开始</a></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><a href="/zh-cn/docs/dependencies.html" target="_self">依赖</a></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><span>示例<img style="transform:rotate(-90deg)" class="menu-toggle" src="/img/system/arrow_down.png"/></span><ul><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/demo/env.html" target="_self">分布式事务示例</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/demo/dubbo.html" target="_self">TC之Dubbo</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/demo/springcloud.html" target="_self">TC之SpringCloud</a></li></ul></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><span>原理介绍<img style="transform:rotate(-90deg)" class="menu-toggle" src="/img/system/arrow_down.png"/></span><ul><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/principle/control.html" target="_self">控制原理</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/principle/lcn.html" target="_self">LCN模式</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/principle/tcc.html" target="_self">TCC模式</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/principle/txc.html" target="_self">TXC模式</a></li></ul></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><span>配置手册<img style="transform:rotate(-90deg)" class="menu-toggle" src="/img/system/arrow_down.png"/></span><ul><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/setting/client.html" target="_self">TC配置</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/setting/manager.html" target="_self">TM配置</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/setting/distributed.html" target="_self">集群与负载</a></li></ul></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><span>扩展支持<img style="transform:rotate(-90deg)" class="menu-toggle" src="/img/system/arrow_down.png"/></span><ul><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/expansion/transaction.html" target="_self">事务模式扩展</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/expansion/message.html" target="_self">通讯协议扩展</a></li><li class="menu-item menu-item-level-3"><a href="/zh-cn/docs/expansion/rpc.html" target="_self">RPC框架扩展</a></li></ul></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><a href="/zh-cn/docs/communication.html" target="_self">通讯指令手册</a></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><a href="/zh-cn/docs/manageradmin.html" target="_self">TM管理手册</a></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><a href="/zh-cn/docs/debug.html" target="_self">问题排查手册</a></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><a href="/zh-cn/docs/test.html" target="_self">性能测试报告</a></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><a href="/zh-cn/docs/developer.html" target="_self">开发者</a></li><li style="height:36px;overflow:hidden" class="menu-item menu-item-level-2"><a href="/zh-cn/docs/fqa.html" target="_self">FQA</a></li></ul></li></ul></div><div class="doc-content markdown-body"><h1>通讯指令手册</h1>
<p>TxClient 与 TxManager 通讯指令说明文档</p>
<p>通讯指令数据包格式为Json格式</p>
<p>Json结构说明:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>key</td>
<td style="text-align:center">string</td>
<td style="text-align:center">请求唯一标示</td>
</tr>
<tr>
<td>remoteKey</td>
<td style="text-align:center">string</td>
<td style="text-align:center">请求资源方标示key</td>
</tr>
<tr>
<td>msg</td>
<td style="text-align:center">object</td>
<td style="text-align:center">请求包数据体</td>
</tr>
<tr>
<td>msg.action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">请求业务方法名</td>
</tr>
<tr>
<td>msg.state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">请求状态 100:发起请求,200:响应成功,500:响应失败</td>
</tr>
<tr>
<td>msg.groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>msg.bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">序列化请求数据</td>
</tr>
</tbody>
</table>
<p>示例数据包:</p>
<p>请求包</p>
<pre><code>{
	&quot;key&quot;: &quot;25303248287617950&quot;,
	&quot;msg&quot;: {
		&quot;action&quot;: &quot;joinGroup&quot;,
		&quot;state&quot;: 100,
		&quot;bytes&quot;: &quot;ChEyNTMwMzIyNDYxMjczODg4OBIgNGQ1NTcwMjc3Yzg1OTI5OTI5YWUxNDBiNjFlNjA3ZjAaA3R4Yw==&quot;,
		&quot;groupId&quot;: &quot;25303224612738888&quot;
	},
	&quot;remoteKey&quot;: &quot;/127.0.0.1:8070&quot;
}

</code></pre>
<p>响应包</p>
<pre><code>{
	&quot;key&quot;: &quot;25303248287617950&quot;,
	&quot;msg&quot;: {
		&quot;action&quot;: &quot;joinGroup&quot;,
		&quot;state&quot;: 200,
		&quot;groupId&quot;: &quot;25303224612738888&quot;
	},
	&quot;remoteKey&quot;: &quot;/127.0.0.1:59413&quot;
}

</code></pre>
<ol>
<li>创建事务组指令</li>
</ol>
<p>请求方向:TxClient-&gt;TxManager</p>
<p>请求msg对象参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">createGroup</td>
<td style="text-align:center">创建事务组key</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">100</td>
<td style="text-align:center">请求状态</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
</tbody>
</table>
<p>响应参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">createGroup</td>
<td style="text-align:center">创建事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">200</td>
<td style="text-align:center">响应成功</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
</tbody>
</table>
<ol start="2">
<li>加入事务组指令</li>
</ol>
<p>请求方向:TxClient-&gt;TxManager</p>
<p>请求msg对象参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">joinGroup</td>
<td style="text-align:center">加入事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">100</td>
<td style="text-align:center">请求状态</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>unitId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务单元Id</td>
</tr>
<tr>
<td>unitType</td>
<td style="text-align:center">string</td>
<td style="text-align:center">lcn</td>
<td style="text-align:center">事务类型(lcn/txc/tcc)</td>
</tr>
<tr>
<td>remoteKey</td>
<td style="text-align:center">string</td>
<td style="text-align:center">/127.0.0.1:8070</td>
<td style="text-align:center">请求资源方标示key</td>
</tr>
</tbody>
</table>
<p>响应参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">joinGroup</td>
<td style="text-align:center">加入事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">200</td>
<td style="text-align:center">响应成功</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
</tbody>
</table>
<ol start="3">
<li>通知事务组指令</li>
</ol>
<p>请求方向:TxClient-&gt;TxManager</p>
<p>请求msg对象参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">notifyGroup</td>
<td style="text-align:center">通知事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">100</td>
<td style="text-align:center">请求状态</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">0 或 1</td>
<td style="text-align:center">代表发起方正常或者异常执行</td>
</tr>
</tbody>
</table>
<p>响应参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">notifyGroup</td>
<td style="text-align:center">通知事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">200</td>
<td style="text-align:center">响应成功</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
</tbody>
</table>
<ol start="4">
<li>通知事务单元指令</li>
</ol>
<p>请求方向:TxManager-&gt;TxClient</p>
<p>请求msg对象参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">notifyUnit</td>
<td style="text-align:center">通知事务单元</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">100</td>
<td style="text-align:center">请求状态</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>unitId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务单元Id</td>
</tr>
<tr>
<td>unitType</td>
<td style="text-align:center">string</td>
<td style="text-align:center">lcn</td>
<td style="text-align:center">事务类型(lcn/txc/tcc)</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">0 或 1</td>
<td style="text-align:center">0 代表回滚，1代表提交</td>
</tr>
</tbody>
</table>
<p>响应参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">notifyUnit</td>
<td style="text-align:center">通知事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">200</td>
<td style="text-align:center">响应成功</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
</tbody>
</table>
<ol start="5">
<li>事务单元检查事务状态</li>
</ol>
<p>请求方向:TxClient-&gt;TxManager</p>
<p>请求msg对象参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">askTransactionState</td>
<td style="text-align:center">通知事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">100</td>
<td style="text-align:center">请求状态</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>unitId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务单元Id</td>
</tr>
</tbody>
</table>
<p>响应参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">askTransactionState</td>
<td style="text-align:center">通知事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">200</td>
<td style="text-align:center">响应成功</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式(该序列化直接对Short对象做了序列化，无Object对象)</p>
<table>
<thead>
<tr>
<th>数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>int</td>
<td style="text-align:center">1、0、-1</td>
<td style="text-align:center">0 代表回滚，1代表提交，-1将添加到异常状态</td>
</tr>
</tbody>
</table>
<ol start="6">
<li>心跳指令</li>
</ol>
<p>请求方向:TxManager-&gt;TxClient</p>
<p>格式如下:</p>
<pre><code>{&quot;key&quot;:&quot;252356025399579923&quot;,&quot;msg&quot;:{&quot;action&quot;:&quot;h&quot;,&quot;state&quot;:1000}}
</code></pre>
<ol start="7">
<li>通知加入新的TxManager</li>
</ol>
<p>请求方向:TxManager-&gt;TxClient</p>
<p>请求msg对象参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">newTxManager</td>
<td style="text-align:center">通知事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">100</td>
<td style="text-align:center">请求状态</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>host</td>
<td style="text-align:center">string</td>
<td style="text-align:center">127.0.0.1</td>
<td style="text-align:center">TxManager服务地址</td>
</tr>
<tr>
<td>port</td>
<td style="text-align:center">int</td>
<td style="text-align:center">8082</td>
<td style="text-align:center">TxManager服务端口</td>
</tr>
</tbody>
</table>
<p>无需响应</p>
<ol start="8">
<li>客户端上报异常状态</li>
</ol>
<p>请求方向:TxClient-&gt;TxManager</p>
<p>请求msg对象参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">writeException</td>
<td style="text-align:center">通知事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">100</td>
<td style="text-align:center">请求状态</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>unitId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务单元Id</td>
</tr>
<tr>
<td>registrar</td>
<td style="text-align:center">short</td>
<td style="text-align:center">-1 0 1 2</td>
<td style="text-align:center">异常情况 -1:未知, 0:TxManager通知事务,1:TxClient查询事务状态, 2:事务发起方通知事务组</td>
</tr>
<tr>
<td>transactionState</td>
<td style="text-align:center">short</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务单元Id</td>
</tr>
</tbody>
</table>
<p>无需响应</p>
<ol start="9">
<li>通知客户端获取事务切面日志</li>
</ol>
<p>请求方向:TxManager-&gt;TxClient</p>
<p>请求msg对象参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">getAspectLog</td>
<td style="text-align:center">通知事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">100</td>
<td style="text-align:center">请求状态</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>unitId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务单元Id</td>
</tr>
</tbody>
</table>
<p>响应参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">getAspectLog</td>
<td style="text-align:center">通知事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">200</td>
<td style="text-align:center">响应成功</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式(该序列化直接对Json对象做了序列化，无Object对象)</p>
<table>
<thead>
<tr>
<th>数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>JsonObject</td>
<td style="text-align:center">{key:value}</td>
<td style="text-align:center">切面日志json格式</td>
</tr>
</tbody>
</table>
<ol start="10">
<li>客户端初始化指令</li>
</ol>
<p>请求方向:TxClient-&gt;TxManager</p>
<p>请求msg对象参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">initClient</td>
<td style="text-align:center">通知事务单元</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">100</td>
<td style="text-align:center">请求状态</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>appName</td>
<td style="text-align:center">string</td>
<td style="text-align:center">demo1</td>
<td style="text-align:center">模块名称</td>
</tr>
</tbody>
</table>
<p>响应参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">initClient</td>
<td style="text-align:center">通知事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">200</td>
<td style="text-align:center">响应成功</td>
</tr>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>appName</td>
<td style="text-align:center">string</td>
<td style="text-align:center">demo1</td>
<td style="text-align:center">模块名称</td>
</tr>
<tr>
<td>dtxTime</td>
<td style="text-align:center">int</td>
<td style="text-align:center">30000</td>
<td style="text-align:center">分布式事务执行最大时间(单位:毫秒)</td>
</tr>
<tr>
<td>tmRpcTimeout</td>
<td style="text-align:center">int</td>
<td style="text-align:center">30000</td>
<td style="text-align:center">TM RPC 超时时间(单位:毫秒)</td>
</tr>
<tr>
<td>seqLen</td>
<td style="text-align:center">int</td>
<td style="text-align:center">12</td>
<td style="text-align:center">雪花算法ID序列长度</td>
</tr>
<tr>
<td>分配的机器ID</td>
<td style="text-align:center">int</td>
<td style="text-align:center">1</td>
<td style="text-align:center">雪花算法分配的机器ID</td>
</tr>
</tbody>
</table>
<ol start="11">
<li>TXC询问分布式锁</li>
</ol>
<p>请求方向:TxClient-&gt;TxManager</p>
<p>请求msg对象参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">qdtxl</td>
<td style="text-align:center">询问分布式锁</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">100</td>
<td style="text-align:center">请求状态</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>groupId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">事务组Id</td>
</tr>
<tr>
<td>contextId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">应用模块位于标识</td>
</tr>
<tr>
<td>locks</td>
<td style="text-align:center">Set<String></td>
<td style="text-align:center">{&quot;123&quot;,&quot;456&quot;}</td>
<td style="text-align:center">锁的数据内容</td>
</tr>
<tr>
<td>lockType</td>
<td style="text-align:center">int</td>
<td style="text-align:center">1</td>
<td style="text-align:center">共享锁:2,排他锁:1</td>
</tr>
</tbody>
</table>
<p>响应参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">initClient</td>
<td style="text-align:center">通知事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">200</td>
<td style="text-align:center">响应成功</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式为boolean类型，false | true</p>
<ol start="12">
<li>TXC释放分布式锁</li>
</ol>
<p>请求方向:TxClient-&gt;TxManager</p>
<p>请求msg对象参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">rdtxl</td>
<td style="text-align:center">释放分布式锁</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">100</td>
<td style="text-align:center">请求状态</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>contextId</td>
<td style="text-align:center">string</td>
<td style="text-align:center">1234567890</td>
<td style="text-align:center">应用模块位于标识</td>
</tr>
<tr>
<td>locks</td>
<td style="text-align:center">Set<String></td>
<td style="text-align:center">{&quot;123&quot;,&quot;456&quot;}</td>
<td style="text-align:center">锁的数据内容</td>
</tr>
</tbody>
</table>
<p>响应参数:</p>
<table>
<thead>
<tr>
<th>字段</th>
<th style="text-align:center">数据类型</th>
<th style="text-align:center">值</th>
<th style="text-align:center">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>action</td>
<td style="text-align:center">string</td>
<td style="text-align:center">initClient</td>
<td style="text-align:center">通知事务组</td>
</tr>
<tr>
<td>state</td>
<td style="text-align:center">int</td>
<td style="text-align:center">200</td>
<td style="text-align:center">响应成功</td>
</tr>
<tr>
<td>bytes</td>
<td style="text-align:center">byte[]</td>
<td style="text-align:center">1234567890==</td>
<td style="text-align:center">序列化请求数据包</td>
</tr>
</tbody>
</table>
<p>序列化数据包内容格式为boolean类型，false | true</p>
</div></section><footer class="footer-container"><div class="footer-body"><img src="/img/txlcn.png"/><div class="cols-container"><div class="col col-12"><h3>愿景</h3><p>我们将致力于打造一个快捷、高效、兼任性强的分布式事务解决方案</p></div><div class="col col-6"><dl><dt>导航</dt><dd><a href="/zh-cn/docs/txlcn-arch.html" target="_self">TX-LCN解决方案</a></dd><dd><a href="/zh-cn/docs/start.html" target="_self">快速上手</a></dd><dd><a href="/zh-cn/docs/txlcn-mod.html" target="_self">开发计划</a></dd><dd><a href="https://bbs.txlcn.org/viewforum.php?id=8" target="_self">报告Bug</a></dd></dl></div><div class="col col-6"><dl><dt>友情链接</dt><dd><a href="https://www.codingapi.com/" target="_blank">CodingApi</a></dd></dl></div></div><div class="copyright"><span>Copyright © 2018-2019 CodingApi</span></div></div></footer></div></div>
	<script src="https://f.alicdn.com/react/15.4.1/react-with-addons.min.js"></script>
	<script src="https://f.alicdn.com/react/15.4.1/react-dom.min.js"></script>
	<script>
		window.rootPath = '';
  </script>
	<script src="/build/documentation.js"></script>
</body>
</html>